#include <stdlib.h>
#include "jni.h"

// 本地函数命名规则 Java_包名_native函数所在类的类名_native方法名
// 返回值 jstring是在jni.h头文件中定义的c语言对应java语言String类的数据类型
// 参数一：env是JNIEnv的一级指针，JNIEnv是JNINativeInterface的一级指针,env就是JNINativeInterface的二级指针
// JNINativeInterface中定义了大量的函数指针，可用于java数据类型与c数据类型之间的转换
// 参数二：thiz是调用该native方法的java对象对应的c堆内存指针（java对象内存中，c可通过指针操作它）
jstring Java_com_yf_hellojni_MainActivity_stringFromJni(JNIEnv* env, jobject thiz)
{
	char *str = "hello jni from c!";
	return (*env)->NewStringUTF(env, str);
}
